Image processing systems for processing videos, web camera images, depth images, medical images and the like are used for a variety of purposes, such as robotic control, scene reconstruction, surveillance, object tracking, gesture recognition, medical image analysis and others. Often the image processing system incorporates a facility to match a template (such as a small region of pixels or voxels) to an image, such as where the template depicts an object and it is desired to find a region of the image which matches the template. Once the template and matching region are known these may be used for a variety of purposes such as to track motion of the depicted object, to join two or more images together to create a composite image depicting a panorama for example, to facilitate stereo matching for depth computation and others. Existing methods of template matching perform poorly in many situations.
Image processing systems often operate in real time such as where they are used for robotic control, object tracking, gesture recognition and other applications. This means that template matching is to be performed as quickly and as efficiently as possible.
The embodiments described below are not limited to implementations which solve any or all of the disadvantages of known image processing systems.